import request from '@/utils/request'

// ==================== 语言分类 API ====================

// 查询语言分类列表
export function listLanguageCategory(query) {
  return request({
    url: '/module/dict/language/list',
    method: 'get',
    params: query
  })
}

// 查询所有语言分类
export function getAllLanguageCategory() {
  return request({
    url: '/module/dict/language/all',
    method: 'get'
  })
}

// 查询语言分类详细
export function getLanguageCategory(id) {
  return request({
    url: '/module/dict/language/' + id,
    method: 'get'
  })
}

// 新增语言分类
export function addLanguageCategory(data) {
  return request({
    url: '/module/dict/language',
    method: 'post',
    data: data
  })
}

// 修改语言分类
export function updateLanguageCategory(data) {
  return request({
    url: '/module/dict/language',
    method: 'put',
    data: data
  })
}

// 删除语言分类
export function delLanguageCategory(ids) {
  return request({
    url: '/module/dict/language/' + ids,
    method: 'delete'
  })
}

// ==================== 词典 API ====================

// 查询词典列表
export function listDictBook(query) {
  return request({
    url: '/module/dict/book/list',
    method: 'get',
    params: query
  })
}

// 根据语言分类查询词典列表
export function listDictBookByLanguageCategory(languageCategory) {
  return request({
    url: '/module/dict/book/list/' + languageCategory,
    method: 'get'
  })
}

// 查询词典详细
export function getDictBook(id) {
  return request({
    url: '/module/dict/book/' + id,
    method: 'get'
  })
}

// 新增词典
export function addDictBook(data) {
  return request({
    url: '/module/dict/book',
    method: 'post',
    data: data
  })
}

// 修改词典
export function updateDictBook(data) {
  return request({
    url: '/module/dict/book',
    method: 'put',
    data: data
  })
}

// 删除词典
export function delDictBook(ids) {
  return request({
    url: '/module/dict/book/' + ids,
    method: 'delete'
  })
}

// 导入词典文件（支持JSON和Word文档）
export function importDictBook(formData) {
  return request({
    url: '/module/dict/book/import',
    method: 'post',
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data'
    },
    timeout: 120000  // 导入可能需要较长时间，设置2分钟超时
  })
}

// 查询词典单词列表
export function listDictWordByBookId(bookId, query) {
  return request({
    url: '/module/dict/word/book/' + bookId,
    method: 'get',
    params: query
  })
}

// 更新单词
export function updateWord(data) {
  return request({
    url: '/module/dict/word',
    method: 'put',
    data: data
  })
}

// 删除单词
export function deleteWord(id) {
  return request({
    url: '/module/dict/word/' + id,
    method: 'delete'
  })
}

// ==================== 标签 API ====================

// 查询标签列表
export function listDictTag(query) {
  return request({
    url: '/module/dict/tag/list',
    method: 'get',
    params: query
  })
}

// 查询所有标签
export function getAllDictTag() {
  return request({
    url: '/module/dict/tag/all',
    method: 'get'
  })
}

// 根据词典ID查询标签列表
export function listDictTagByBookId(bookId) {
  return request({
    url: '/module/dict/tag/book/' + bookId,
    method: 'get'
  })
}

// 查询标签详细
export function getDictTag(id) {
  return request({
    url: '/module/dict/tag/' + id,
    method: 'get'
  })
}

// 新增标签
export function addDictTag(data) {
  return request({
    url: '/module/dict/tag',
    method: 'post',
    data: data
  })
}

// 修改标签
export function updateDictTag(data) {
  return request({
    url: '/module/dict/tag',
    method: 'put',
    data: data
  })
}

// 删除标签
export function delDictTag(ids) {
  return request({
    url: '/module/dict/tag/' + ids,
    method: 'delete'
  })
}

